// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
// All rights reserved.

#include <esp_err.h>
#include <esp_log.h>
#include <led_pattern.h>

const led_pattern_state_t led_linear5_listening_enter[] = {
	{16, {0x000000,0x000000,0x000000,0x000000,0x000000}},
	{16, {0x004D52,0x000007,0x000007,0x000007,0x005156}},
	{16, {0x00FFFF,0x00000E,0x00000E,0x00000E,0x00FFFF}},
	{16, {0x007781,0x008891,0x000013,0x008A93,0x00747E}},
	{16, {0x00182C,0x00E7E9,0x000017,0x00E9EB,0x00152A}},
	{16, {0x00001A,0x00E0E3,0x003E52,0x00DEE2,0x00001A}},
	{16, {0x00001D,0x00ADB6,0x00A4AF,0x00ABB5,0x00001D}},
	{16, {0x000020,0x008695,0x00F4F6,0x008393,0x000020}},
	{16, {0x000023,0x00657B,0x00FFFF,0x006479,0x000023}},
	{16, {0x000028,0x004C68,0x00FFFF,0x004A67,0x000028}},
	{16, {0x00002D,0x00375A,0x00FFFF,0x003559,0x00002D}},
	{16, {0x000035,0x002653,0x00FFFF,0x002552,0x000035}},
	{16, {0x00003F,0x001952,0x00FFFF,0x001851,0x00003F}},
	{16, {0x00004C,0x000E56,0x00FFFF,0x000D55,0x00004C}},
	{16, {0x00005E,0x000662,0x00FFFF,0x000561,0x00005E}},
	{16, {0x00007A,0x00017A,0x00FFFF,0x00007A,0x00007A}},
	{16, {0x00009C,0x00009C,0x00FFFF,0x00009C,0x00009C}},
	{16, {0x0000CA,0x0000CA,0x00FFFF,0x0000CA,0x0000CA}},
};

const led_pattern_state_t led_linear5_listening_ongoing[] = {
    {22, {0x0000CA,0x0000CA,0x00FFFF,0x0000CA,0x0000CA}},
};

const led_pattern_state_t led_linear5_speaking[] = {
	{100, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{90, {0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF}},
	{90, {0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF}},
	{80, {0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF}},
	{70, {0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF}},
	{60, {0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF}},
	{50, {0x0099FF,0x0099FF,0x0099FF,0x0099FF,0x0099FF}},
	{40, {0x0088FF,0x0088FF,0x0088FF,0x0088FF,0x0088FF}},
	{40, {0x0077FF,0x0077FF,0x0077FF,0x0077FF,0x0077FF}},
	{40, {0x0066FF,0x0066FF,0x0066FF,0x0066FF,0x0066FF}},
	{40, {0x0055FF,0x0055FF,0x0055FF,0x0055FF,0x0055FF}},
	{40, {0x0044FF,0x0044FF,0x0044FF,0x0044FF,0x0044FF}},
	{40, {0x0033FF,0x0033FF,0x0033FF,0x0033FF,0x0033FF}},
	{40, {0x0022FF,0x0022FF,0x0022FF,0x0022FF,0x0022FF}},
	{100, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
	{40, {0x0022FF,0x0022FF,0x0022FF,0x0022FF,0x0022FF}},
	{40, {0x0033FF,0x0033FF,0x0033FF,0x0033FF,0x0033FF}},
	{40, {0x0044FF,0x0044FF,0x0044FF,0x0044FF,0x0044FF}},
	{40, {0x0055FF,0x0055FF,0x0055FF,0x0055FF,0x0055FF}},
	{40, {0x0066FF,0x0066FF,0x0066FF,0x0066FF,0x0066FF}},
	{40, {0x0077FF,0x0077FF,0x0077FF,0x0077FF,0x0077FF}},
	{50, {0x0088FF,0x0088FF,0x0088FF,0x0088FF,0x0088FF}},
	{60, {0x0099FF,0x0099FF,0x0099FF,0x0099FF,0x0099FF}},
	{70, {0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF}},
	{80, {0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF}},
	{90, {0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF}},
	{90, {0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF}},
	{90, {0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF}},
	{100, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{90, {0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF}},
	{90, {0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF}},
	{80, {0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF}},
	{70, {0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF}},
	{60, {0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF}},
	{50, {0x0099FF,0x0099FF,0x0099FF,0x0099FF,0x0099FF}},
	{40, {0x0088FF,0x0088FF,0x0088FF,0x0088FF,0x0088FF}},
	{40, {0x0077FF,0x0077FF,0x0077FF,0x0077FF,0x0077FF}},
	{40, {0x0066FF,0x0066FF,0x0066FF,0x0066FF,0x0066FF}},
	{40, {0x0055FF,0x0055FF,0x0055FF,0x0055FF,0x0055FF}},
	{40, {0x0044FF,0x0044FF,0x0044FF,0x0044FF,0x0044FF}},
	{40, {0x0033FF,0x0033FF,0x0033FF,0x0033FF,0x0033FF}},
	{40, {0x0022FF,0x0022FF,0x0022FF,0x0022FF,0x0022FF}},
	{100, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
	{40, {0x0022FF,0x0022FF,0x0022FF,0x0022FF,0x0022FF}},
	{40, {0x0033FF,0x0033FF,0x0033FF,0x0033FF,0x0033FF}},
	{40, {0x0044FF,0x0044FF,0x0044FF,0x0044FF,0x0044FF}},
	{40, {0x0055FF,0x0055FF,0x0055FF,0x0055FF,0x0055FF}},
	{40, {0x0066FF,0x0066FF,0x0066FF,0x0066FF,0x0066FF}},
	{40, {0x0077FF,0x0077FF,0x0077FF,0x0077FF,0x0077FF}},
	{50, {0x0088FF,0x0088FF,0x0088FF,0x0088FF,0x0088FF}},
	{60, {0x0099FF,0x0099FF,0x0099FF,0x0099FF,0x0099FF}},
	{70, {0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF,0x00AAFF}},
	{80, {0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF,0x00BBFF}},
	{90, {0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF,0x00CCFF}},
	{90, {0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF,0x00DDFF}},
	{90, {0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF,0x00EEFF}},
};

const led_pattern_state_t led_linear5_mic_off_exit[] = {
	{16, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
	{16, {0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000}},
	{16, {0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000}},
	{16, {0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000}},
	{16, {0x990000,0x990000,0x990000,0x990000,0x990000}},
	{16, {0x880000,0x880000,0x880000,0x880000,0x880000}},
	{16, {0x660000,0x660000,0x660000,0x660000,0x660000}},
	{16, {0x550000,0x550000,0x550000,0x550000,0x550000}},
	{16, {0x330000,0x330000,0x330000,0x330000,0x330000}},
	{16, {0x110000,0x110000,0x110000,0x110000,0x110000}},
	{16, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_mic_off_ongoing[] = {
	{66, {0x990000,0x990000,0x990000,0x990000,0x990000}},
};

const led_pattern_state_t led_linear5_mic_off_enter[] = {
	{33, {0x110000,0x110000,0x110000,0x110000,0x110000}},
	{33, {0x220000,0x220000,0x220000,0x220000,0x220000}},
	{33, {0x330000,0x330000,0x330000,0x330000,0x330000}},
	{33, {0x440000,0x440000,0x440000,0x440000,0x440000}},
	{33, {0x550000,0x550000,0x550000,0x550000,0x550000}},
	{33, {0x660000,0x660000,0x660000,0x660000,0x660000}},
	{33, {0x770000,0x770000,0x770000,0x770000,0x770000}},
	{33, {0x880000,0x880000,0x880000,0x880000,0x880000}},
	{33, {0x990000,0x990000,0x990000,0x990000,0x990000}},
	{33, {0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000}},
	{33, {0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000}},
	{33, {0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000}},
	{33, {0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000}},
	{33, {0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000}},
	{66, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
	{66, {0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000}},
	{66, {0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000}},
	{66, {0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000}},
	{66, {0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000}},
	{66, {0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000}},
	{66, {0x990000,0x990000,0x990000,0x990000,0x990000}},
};

const led_pattern_state_t led_linear5_listening_exit[] = {
	{16, {0x00FFFF,0x0000FF,0x0000FF,0x0000FF,0x00FFFF}},
	{16, {0x00FFFF,0x0000FF,0x0000FF,0x0000FF,0x00FFFF}},
	{16, {0x00FFFF,0x0000FF,0x0000FF,0x0000FF,0x00FFFF}},
	{16, {0x00FAFB,0x0004FF,0x0000FF,0x0005FF,0x00F9F9}},
	{16, {0x00F2F2,0x000CFF,0x0000FF,0x000DFF,0x00F1F1}},
	{16, {0x00E8E9,0x0016FF,0x0000FF,0x0017FF,0x00E7E7}},
	{16, {0x00DDDD,0x0021FF,0x0000FF,0x0023FF,0x00DBDC}},
	{16, {0x00D0D0,0x002EFF,0x0000FF,0x0030FF,0x00CECF}},
	{16, {0x00C2C2,0x003DFF,0x0000FF,0x003EFF,0x00C1C1}},
	{16, {0x00B2B3,0x004CFF,0x0000FF,0x004DFF,0x00B1B1}},
	{16, {0x00A2A2,0x005CFF,0x0000FF,0x005DFF,0x00A1A1}},
	{16, {0x009091,0x006DFF,0x0000FF,0x006FFF,0x008F90}},
	{16, {0x007F7F,0x0080FF,0x0000FF,0x0081FF,0x007D7E}},
	{16, {0x006B6C,0x0093FF,0x0000FF,0x0094FF,0x006A6A}},
	{16, {0x005858,0x00A7FF,0x0000FF,0x00A8FF,0x005757}},
	{16, {0x004344,0x00BBFF,0x0000FF,0x00BDFF,0x004242}},
	{16, {0x002E2E,0x00D0FF,0x0000FF,0x00D2FF,0x002D2D}},
	{16, {0x001919,0x00E6FF,0x0000FF,0x00E8FF,0x001717}},
	{16, {0x000202,0x00FCFF,0x0000FF,0x00FDFF,0x000101}},
	{16, {0x000000,0x00F8F8,0x000EFF,0x00F6F7,0x000000}},
	{16, {0x000000,0x00E1E1,0x003CFF,0x00E0E0,0x000000}},
	{16, {0x000000,0x00CACA,0x006BFF,0x00C8C9,0x000000}},
	{16, {0x000000,0x00B2B2,0x009AFF,0x00B1B1,0x000000}},
	{16, {0x000000,0x009A9A,0x00CAFF,0x009899,0x000000}},
	{16, {0x000000,0x008282,0x00FAFF,0x008081,0x000000}},
	{16, {0x000000,0x006A6A,0x00FFFF,0x006869,0x000000}},
	{16, {0x000000,0x005252,0x00FFFF,0x005051,0x000000}},
	{16, {0x000000,0x003A3A,0x00FFFF,0x003939,0x000000}},
	{16, {0x000000,0x002424,0x00FFFF,0x002222,0x000000}},
	{16, {0x000000,0x000D0E,0x00FFFF,0x000C0C,0x000000}},
};

const led_pattern_state_t led_linear5_error[] = {
	{25, {0x280000,0x280000,0x280000,0x280000,0x280000}},
	{25, {0x380000,0x380000,0x380000,0x380000,0x380000}},
	{25, {0x480000,0x480000,0x480000,0x480000,0x480000}},
	{25, {0x500000,0x500000,0x500000,0x500000,0x500000}},
	{25, {0x580000,0x580000,0x580000,0x580000,0x580000}},
	{25, {0x680000,0x680000,0x680000,0x680000,0x680000}},
	{25, {0x780000,0x780000,0x780000,0x780000,0x780000}},
	{25, {0x900000,0x900000,0x900000,0x900000,0x900000}},
	{25, {0xA00000,0xA00000,0xA00000,0xA00000,0xA00000}},
	{25, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
	{25, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
	{25, {0xE00000,0xE00000,0xE00000,0xE00000,0xE00000}},
	{25, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
	{100, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
	{25, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
	{25, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
	{25, {0xF00000,0xE00000,0xE00000,0xE00000,0xE00000}},
	{25, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
	{25, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
	{25, {0xA00000,0xA00000,0xA00000,0xA00000,0xA00000}},
	{25, {0x900000,0x900000,0x900000,0x900000,0x900000}},
	{25, {0x780000,0x780000,0x780000,0x780000,0x780000}},
	{25, {0x680000,0x680000,0x680000,0x680000,0x680000}},
	{25, {0x580000,0x580000,0x580000,0x580000,0x580000}},
	{25, {0x500000,0x500000,0x500000,0x500000,0x500000}},
	{25, {0x480000,0x480000,0x480000,0x480000,0x480000}},
	{25, {0x280000,0x280000,0x280000,0x280000,0x280000}},
	{25, {0x280000,0x280000,0x280000,0x280000,0x280000}},
	{25, {0x380000,0x380000,0x380000,0x380000,0x380000}},
	{25, {0x480000,0x480000,0x480000,0x480000,0x480000}},
	{25, {0x500000,0x500000,0x500000,0x500000,0x500000}},
	{25, {0x580000,0x580000,0x580000,0x580000,0x580000}},
	{25, {0x680000,0x680000,0x680000,0x680000,0x680000}},
	{25, {0x780000,0x780000,0x780000,0x780000,0x780000}},
	{25, {0x900000,0x900000,0x900000,0x900000,0x900000}},
	{25, {0xA00000,0xA00000,0xA00000,0xA00000,0xA00000}},
	{25, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
	{25, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
	{25, {0xE00000,0xE00000,0xE00000,0xE00000,0xE00000}},
	{25, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
	{25, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
	{100, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
	{25, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
	{25, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
	{25, {0xE00000,0xE00000,0xE00000,0xE00000,0xE00000}},
	{25, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
	{25, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
	{25, {0xA00000,0xA00000,0xA00000,0xA00000,0xA00000}},
	{25, {0x900000,0x900000,0x900000,0x900000,0x900000}},
	{25, {0x780000,0x780000,0x780000,0x780000,0x780000}},
	{25, {0x680000,0x680000,0x680000,0x680000,0x680000}},
	{25, {0x580000,0x580000,0x580000,0x580000,0x580000}},
	{25, {0x500000,0x500000,0x500000,0x500000,0x500000}},
	{25, {0x480000,0x480000,0x480000,0x480000,0x480000}},
	{25, {0x280000,0x280000,0x280000,0x280000,0x280000}},
	{25, {0x280000,0x280000,0x280000,0x280000,0x280000}},
	{25, {0x380000,0x380000,0x380000,0x380000,0x380000}},
	{25, {0x480000,0x480000,0x480000,0x480000,0x480000}},
	{25, {0x500000,0x500000,0x500000,0x500000,0x500000}},
	{25, {0x580000,0x580000,0x580000,0x580000,0x580000}},
	{25, {0x680000,0x680000,0x680000,0x680000,0x680000}},
	{25, {0x780000,0x780000,0x780000,0x780000,0x780000}},
	{25, {0x900000,0x900000,0x900000,0x900000,0x900000}},
	{25, {0xA00000,0xA00000,0xA00000,0xA00000,0xA00000}},
	{25, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
	{25, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
	{25, {0xE00000,0xE00000,0xE00000,0xE00000,0xE00000}},
	{25, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
	{25, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
	{100, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
	{25, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
	{25, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
	{25, {0xE00000,0xE00000,0xE00000,0xE00000,0xE00000}},
	{25, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
	{25, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
	{25, {0xA00000,0xA00000,0xA00000,0xA00000,0xA00000}},
	{25, {0x900000,0x900000,0x900000,0x900000,0x900000}},
	{25, {0x780000,0x780000,0x780000,0x780000,0x780000}},
	{25, {0x680000,0x680000,0x680000,0x680000,0x680000}},
	{25, {0x580000,0x580000,0x580000,0x580000,0x580000}},
	{25, {0x500000,0x500000,0x500000,0x500000,0x500000}},
	{25, {0x480000,0x480000,0x480000,0x480000,0x480000}},
	{25, {0x280000,0x280000,0x280000,0x280000,0x280000}},
	{25, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_bt_connect[] = {
	{75, {0x000011,0x000011,0x000011,0x000011,0x000011}},
	{5, {0x000022,0x000022,0x000022,0x000022,0x000022}},
	{5, {0x000033,0x000033,0x000033,0x000033,0x000033}},
	{5, {0x000044,0x000044,0x000044,0x000044,0x000044}},
	{5, {0x000055,0x000055,0x000055,0x000055,0x000055}},
	{5, {0x000066,0x000066,0x000066,0x000066,0x000066}},
	{5, {0x000077,0x000077,0x000077,0x000077,0x000077}},
	{5, {0x000088,0x000088,0x000088,0x000088,0x000088}},
	{5, {0x000099,0x000099,0x000099,0x000099,0x000099}},
	{5, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
	{5, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
	{5, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
	{5, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
	{5, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
	{150, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
	{75, {0x000011,0x000011,0x000011,0x000011,0x000011}},
	{5, {0x000022,0x000022,0x000022,0x000022,0x000022}},
	{5, {0x000033,0x000033,0x000033,0x000033,0x000033}},
	{5, {0x000044,0x000044,0x000044,0x000044,0x000044}},
	{5, {0x000055,0x000055,0x000055,0x000055,0x000055}},
	{5, {0x000066,0x000066,0x000066,0x000066,0x000066}},
	{5, {0x000077,0x000077,0x000077,0x000077,0x000077}},
	{5, {0x000088,0x000088,0x000088,0x000088,0x000088}},
	{5, {0x000099,0x000099,0x000099,0x000099,0x000099}},
	{5, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
	{5, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
	{5, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
	{5, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
	{5, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
	{150, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
	{75, {0x000011,0x000011,0x000011,0x000011,0x000011}},
	{5, {0x000022,0x000022,0x000022,0x000022,0x000022}},
	{5, {0x000033,0x000033,0x000033,0x000033,0x000033}},
	{5, {0x000044,0x000044,0x000044,0x000044,0x000044}},
	{5, {0x000055,0x000055,0x000055,0x000055,0x000055}},
	{5, {0x000066,0x000066,0x000066,0x000066,0x000066}},
	{5, {0x000077,0x000077,0x000077,0x000077,0x000077}},
	{5, {0x000088,0x000088,0x000088,0x000088,0x000088}},
	{5, {0x000099,0x000099,0x000099,0x000099,0x000099}},
	{5, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
	{5, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
	{5, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
	{5, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
	{5, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
	{150, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
};

const led_pattern_state_t led_linear5_bt_disconnect[] = {
	{75, {0x000011,0x000011,0x000011,0x000011,0x000011}},
	{5, {0x000022,0x000022,0x000022,0x000022,0x000022}},
	{5, {0x000033,0x000033,0x000033,0x000033,0x000033}},
	{5, {0x000044,0x000044,0x000044,0x000044,0x000044}},
	{5, {0x000055,0x000055,0x000055,0x000055,0x000055}},
	{5, {0x000066,0x000066,0x000066,0x000066,0x000066}},
	{5, {0x000077,0x000077,0x000077,0x000077,0x000077}},
	{5, {0x000088,0x000088,0x000088,0x000088,0x000088}},
	{5, {0x000099,0x000099,0x000099,0x000099,0x000099}},
	{5, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
	{5, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
	{5, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
	{5, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
	{5, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
	{150, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
	{75, {0x000011,0x000011,0x000011,0x000011,0x000011}},
	{5, {0x000022,0x000022,0x000022,0x000022,0x000022}},
	{5, {0x000033,0x000033,0x000033,0x000033,0x000033}},
	{5, {0x000044,0x000044,0x000044,0x000044,0x000044}},
	{5, {0x000055,0x000055,0x000055,0x000055,0x000055}},
	{5, {0x000066,0x000066,0x000066,0x000066,0x000066}},
	{5, {0x000077,0x000077,0x000077,0x000077,0x000077}},
	{5, {0x000088,0x000088,0x000088,0x000088,0x000088}},
	{5, {0x000099,0x000099,0x000099,0x000099,0x000099}},
	{5, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
	{5, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
	{5, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
	{5, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
	{5, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
	{150, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
	{75, {0x000011,0x000011,0x000011,0x000011,0x000011}},
	{5, {0x000022,0x000022,0x000022,0x000022,0x000022}},
	{5, {0x000033,0x000033,0x000033,0x000033,0x000033}},
	{5, {0x000044,0x000044,0x000044,0x000044,0x000044}},
	{5, {0x000055,0x000055,0x000055,0x000055,0x000055}},
	{5, {0x000066,0x000066,0x000066,0x000066,0x000066}},
	{5, {0x000077,0x000077,0x000077,0x000077,0x000077}},
	{5, {0x000088,0x000088,0x000088,0x000088,0x000088}},
	{5, {0x000099,0x000099,0x000099,0x000099,0x000099}},
	{5, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
	{5, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
	{5, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
	{5, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
	{5, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
	{150, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
};

const led_pattern_state_t led_linear5_notification_ongoing[] = {
	{60, {0x000000,0x000000,0x000000,0x000000,0x000000}},
	{60, {0x030200,0x030200,0x030200,0x030200,0x030200}},
	{60, {0x050400,0x050400,0x050400,0x050400,0x050400}},
	{60, {0x080600,0x080600,0x080600,0x080600,0x080600}},
	{60, {0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00}},
	{60, {0x1C1700,0x1C1700,0x1C1700,0x1C1700,0x1C1700}},
	{60, {0x292200,0x292200,0x292200,0x292200,0x292200}},
	{60, {0x3B3100,0x3B3100,0x3B3100,0x3B3100,0x3B3100}},
	{60, {0x4F4200,0x4F4200,0x4F4200,0x4F4200,0x4F4200}},
	{60, {0x665500,0x665500,0x665500,0x665500,0x665500}},
	{60, {0x826C00,0x826C00,0x826C00,0x826C00,0x826C00}},
	{60, {0xA18600,0xA18600,0xA18600,0xA18600,0xA18600}},
	{60, {0xC4A400,0xC4A400,0xC4A400,0xC4A400,0xC4A400}},
	{60, {0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{60, {0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00}},
	{60, {0xC4A400,0xC4A400,0xC4A400,0xC4A400,0xC4A400}},
	{60, {0xA18600,0xA18600,0xA18600,0xA18600,0xA18600}},
	{60, {0x826C00,0x826C00,0x826C00,0x826C00,0x826C00}},
	{60, {0x665500,0x665500,0x665500,0x665500,0x665500}},
	{60, {0x4F4200,0x4F4200,0x4F4200,0x4F4200,0x4F4200}},
	{60, {0x3B3100,0x3B3100,0x3B3100,0x3B3100,0x3B3100}},
	{60, {0x292200,0x292200,0x292200,0x292200,0x292200}},
	{60, {0x1C1700,0x1C1700,0x1C1700,0x1C1700,0x1C1700}},
	{60, {0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00}},
	{60, {0x080600,0x080600,0x080600,0x080600,0x080600}},
	{60, {0x030200,0x030200,0x030200,0x030200,0x030200}},
	{60, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_notification_new[] = {
	{40, {0x000000,0x000000,0x000000,0x000000,0x000000}},
	{50, {0x030200,0x030200,0x030200,0x030200,0x030200}},
	{50, {0x050400,0x050400,0x050400,0x050400,0x050400}},
	{50, {0x080600,0x080600,0x080600,0x080600,0x080600}},
	{50, {0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00}},
	{50, {0x1C1700,0x1C1700,0x1C1700,0x1C1700,0x1C1700}},
	{50, {0x292200,0x292200,0x292200,0x292200,0x292200}},
	{50, {0x3B3100,0x3B3100,0x3B3100,0x3B3100,0x3B3100}},
	{50, {0x4F4200,0x4F4200,0x4F4200,0x4F4200,0x4F4200}},
	{50, {0x665500,0x665500,0x665500,0x665500,0x665500}},
	{50, {0x826C00,0x826C00,0x826C00,0x826C00,0x826C00}},
	{50, {0xA18600,0xA18600,0xA18600,0xA18600,0xA18600}},
	{50, {0xC4A400,0xC4A400,0xC4A400,0xC4A400,0xC4A400}},
	{50, {0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{200, {0xFFD400,0xFFD400,0xFFD400,0xFFD400,0xFFD400}},
	{40, {0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00,0xE5BF00}},
	{40, {0xC4A400,0xC4A400,0xC4A400,0xC4A400,0xC4A400}},
	{40, {0xA18600,0xA18600,0xA18600,0xA18600,0xA18600}},
	{40, {0x826C00,0x826C00,0x826C00,0x826C00,0x826C00}},
	{40, {0x665500,0x665500,0x665500,0x665500,0x665500}},
	{40, {0x4F4200,0x4F4200,0x4F4200,0x4F4200,0x4F4200}},
	{40, {0x3B3100,0x3B3100,0x3B3100,0x3B3100,0x3B3100}},
	{40, {0x292200,0x292200,0x292200,0x292200,0x292200}},
	{40, {0x1C1700,0x1C1700,0x1C1700,0x1C1700,0x1C1700}},
	{40, {0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00,0x0F0D00}},
	{40, {0x080600,0x080600,0x080600,0x080600,0x080600}},
	{40, {0x030200,0x030200,0x030200,0x030200,0x030200}},
	{40, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_thinking[] = {
	{16, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x00000FF}},
	{16, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x00000FF}},
	{16, {0x0000FF,0x0000FF,0x0002FF,0x0000FF,0x00000FF}},
	{16, {0x0000FF,0x0000FF,0x000CFF,0x0000FF,0x00000FF}},
	{16, {0x0000FF,0x0007FF,0x0023FF,0x0007FF,0x00000FF}},
	{16, {0x0000FF,0x0024FF,0x004EFF,0x0024FF,0x00000FF}},
	{16, {0x0000FF,0x0067FF,0x0099FF,0x0067FF,0x00000FF}},
	{16, {0x0000FF,0x00D9FF,0x00FFFF,0x00D7FF,0x00000FF}},
	{16, {0x0000FF,0x00FEFF,0x00FFFF,0x00FCFF,0x00000FF}},
	{16, {0x0011FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0000FFF}},
	{16, {0x002CFF,0x00FFFF,0x00FFFF,0x00FFFF,0x0002AFF}},
	{16, {0x0043FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00042FF}},
	{16, {0x0058FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00057FF}},
	{16, {0x006AFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00069FF}},
	{16, {0x007BFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00079FF}},
	{16, {0x008AFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00088FF}},
	{16, {0x0097FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00096FF}},
	{16, {0x00A3FF,0x00FFFF,0x00FFFF,0x00FFFF,0x000A2FF}},
	{16, {0x00AEFF,0x00FFFF,0x00FFFF,0x00FFFF,0x000ADFF}},
	{16, {0x00B8FF,0x00FFFF,0x00FFFF,0x00FFFF,0x000B7FF}},
	{16, {0x00C1FF,0x00FFFF,0x00FFFF,0x00FFFF,0x000BFFF}},
	{16, {0x00C9FF,0x00FFFF,0x00FFFF,0x00FFFF,0x000C8FF}},
	{16, {0x00D1FF,0x00FFFF,0x00FFFF,0x00FFFF,0x000CFFF}},
	{16, {0x00D7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x000D6FF}},
	{16, {0x00DEFF,0x00FFFF,0x00FFFF,0x00FFFF,0x000DDFF}},
	{16, {0x00BAFF,0x00D0FF,0x00D0FF,0x00D0FF,0x000B8FF}},
	{16, {0x0095FF,0x00A4FF,0x00A4FF,0x00A4FF,0x00095FF}},
	{16, {0x0074FF,0x007DFF,0x007DFF,0x007DFF,0x00073FF}},
	{16, {0x0058FF,0x005DFF,0x005DFF,0x005DFF,0x00057FF}},
	{16, {0x0040FF,0x0043FF,0x0043FF,0x0043FF,0x00040FF}},
	{16, {0x002EFF,0x002FFF,0x002FFF,0x002FFF,0x0002DFF}},
	{16, {0x001FFF,0x0020FF,0x0020FF,0x0020FF,0x0001FFF}},
	{16, {0x0016FF,0x0016FF,0x0016FF,0x0016FF,0x00016FF}},
	{16, {0x000EFF,0x000EFF,0x000EFF,0x000EFF,0x0000EFF}},
	{16, {0x0009FF,0x0009FF,0x0009FF,0x0009FF,0x00009FF}},
	{16, {0x0006FF,0x0006FF,0x0006FF,0x0006FF,0x00006FF}},
	{16, {0x0004FF,0x0004FF,0x0004FF,0x0004FF,0x00004FF}},
	{16, {0x0003FF,0x0003FF,0x0003FF,0x0003FF,0x00003FF}},
	{16, {0x0002FF,0x0002FF,0x0002FF,0x0002FF,0x00002FF}},
	{16, {0x0001FF,0x0001FF,0x0001FF,0x0001FF,0x00001FF}},
};

const led_pattern_state_t led_linear5_alrt_short[] = {
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F0FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00CCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0099FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x005BFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0013FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00EDFF,0x0000FF,0x00EFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00C3FF,0x0000FF,0x00C4FF,0x00FFFF}},
	{22, {0x00FFFF,0x0096FF,0x0000FF,0x0097FF,0x00FFFF}},
	{22, {0x00FFFF,0x0067FF,0x0000FF,0x0068FF,0x00FFFF}},
	{22, {0x00FFFF,0x0036FF,0x0000FF,0x0037FF,0x00FFFF}},
	{22, {0x00FFFF,0x0004FF,0x0000FF,0x0006FF,0x00FFFF}},
	{22, {0x00DEFF,0x0000FF,0x0000FF,0x0000FF,0x00E0FF}},
	{22, {0x00ACFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x007BFF,0x0000FF,0x0000FF,0x0000FF,0x007CFF}},
	{22, {0x004EFF,0x0000FF,0x0000FF,0x0000FF,0x0050FF}},
	{22, {0x0076FF,0x0000FF,0x0000FF,0x0000FF,0x0077FF}},
	{22, {0x00ABFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x00E6FF,0x0000FF,0x0000FF,0x0000FF,0x00E7FF}},
	{22, {0x00FFFF,0x0014FF,0x0000FF,0x0015FF,0x00FFFF}},
	{22, {0x00FFFF,0x004BFF,0x0000FF,0x004CFF,0x00FFFF}},
	{22, {0x00FFFF,0x007DFF,0x0000FF,0x007EFF,0x00FFFF}},
	{22, {0x00FFFF,0x00AAFF,0x0000FF,0x00ABFF,0x00FFFF}},
	{22, {0x00FFFF,0x00D1FF,0x0000FF,0x00D2FF,0x00FFFF}},
	{22, {0x00FFFF,0x00F4FF,0x0000FF,0x00F5FF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x000CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0040FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x006CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0091FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00B1FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00C9FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00DDFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00ECFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F7FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FEFF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EFFF}},
	{22, {0x00DAFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D9FF}},
	{22, {0x00BFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00BEFF}},
	{22, {0x00A0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x009FFF}},
	{22, {0x007EFF,0x00FFFF,0x00FFFF,0x00FFFF,0x007CFF}},
	{22, {0x0059FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0057FF}},
	{22, {0x0032FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0030FF}},
	{22, {0x0009FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0008FF}},
	{22, {0x0000FF,0x00EBFF,0x00FFFF,0x00EAFF,0x0000FF}},
	{22, {0x0000FF,0x00C0FF,0x00FFFF,0x00BFFF,0x0000FF}},
	{22, {0x0000FF,0x0094FF,0x00FFFF,0x0093FF,0x0000FF}},
	{22, {0x0000FF,0x0069FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x003EFF,0x00FFFF,0x003DFF,0x0000FF}},
	{22, {0x0000FF,0x0017FF,0x00FFFF,0x0016FF,0x0000FF}},
	{22, {0x0000FF,0x003AFF,0x00FFFF,0x0038FF,0x0000FF}},
	{22, {0x0000FF,0x0068FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x009BFF,0x00FFFF,0x009AFF,0x0000FF}},
	{22, {0x0000FF,0x00CEFF,0x00FFFF,0x00CCFF,0x0000FF}},
	{22, {0x0000FF,0x00FDFF,0x00FFFF,0x00FCFF,0x0000FF}},
	{22, {0x001CFF,0x00FFFF,0x00FFFF,0x00FFFF,0x001BFF}},
	{22, {0x0043FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0041FF}},
	{22, {0x0065FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0064FF}},
	{22, {0x0083FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0082FF}},
	{22, {0x009DFF,0x00FFFF,0x00FFFF,0x00FFFF,0x009CFF}},
	{22, {0x00B3FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00B2FF}},
	{22, {0x00C7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00C6FF}},
	{22, {0x00D7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D6FF}},
	{22, {0x00E5FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00E3FF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EEFF}},
	{22, {0x00F8FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00F6FF}},
	{22, {0x00FEFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FDFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F0FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00CCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0099FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x005BFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0013FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00EDFF,0x0000FF,0x00EFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00C3FF,0x0000FF,0x00C4FF,0x00FFFF}},
	{22, {0x00FFFF,0x0096FF,0x0000FF,0x0097FF,0x00FFFF}},
	{22, {0x00FFFF,0x0067FF,0x0000FF,0x0068FF,0x00FFFF}},
	{22, {0x00FFFF,0x0036FF,0x0000FF,0x0037FF,0x00FFFF}},
	{22, {0x00FFFF,0x0004FF,0x0000FF,0x0006FF,0x00FFFF}},
	{22, {0x00DEFF,0x0000FF,0x0000FF,0x0000FF,0x00E0FF}},
	{22, {0x00ACFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x007BFF,0x0000FF,0x0000FF,0x0000FF,0x007CFF}},
	{22, {0x004EFF,0x0000FF,0x0000FF,0x0000FF,0x0050FF}},
	{22, {0x0076FF,0x0000FF,0x0000FF,0x0000FF,0x0077FF}},
	{22, {0x00ABFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x00E6FF,0x0000FF,0x0000FF,0x0000FF,0x00E7FF}},
	{22, {0x00FFFF,0x0014FF,0x0000FF,0x0015FF,0x00FFFF}},
	{22, {0x00FFFF,0x004BFF,0x0000FF,0x004CFF,0x00FFFF}},
	{22, {0x00FFFF,0x007DFF,0x0000FF,0x007EFF,0x00FFFF}},
	{22, {0x00FFFF,0x00AAFF,0x0000FF,0x00ABFF,0x00FFFF}},
	{22, {0x00FFFF,0x00D1FF,0x0000FF,0x00D2FF,0x00FFFF}},
	{22, {0x00FFFF,0x00F4FF,0x0000FF,0x00F5FF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x000CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0040FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x006CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0091FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00B1FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00C9FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00DDFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00ECFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F7FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FEFF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EFFF}},
	{22, {0x00DAFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D9FF}},
	{22, {0x00BFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00BEFF}},
	{22, {0x00A0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x009FFF}},
	{22, {0x007EFF,0x00FFFF,0x00FFFF,0x00FFFF,0x007CFF}},
	{22, {0x0059FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0057FF}},
	{22, {0x0032FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0030FF}},
	{22, {0x0009FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0008FF}},
	{22, {0x0000FF,0x00EBFF,0x00FFFF,0x00EAFF,0x0000FF}},
	{22, {0x0000FF,0x00C0FF,0x00FFFF,0x00BFFF,0x0000FF}},
	{22, {0x0000FF,0x0094FF,0x00FFFF,0x0093FF,0x0000FF}},
	{22, {0x0000FF,0x0069FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x003EFF,0x00FFFF,0x003DFF,0x0000FF}},
	{22, {0x0000FF,0x0017FF,0x00FFFF,0x0016FF,0x0000FF}},
	{22, {0x0000FF,0x003AFF,0x00FFFF,0x0038FF,0x0000FF}},
	{22, {0x0000FF,0x0068FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x009BFF,0x00FFFF,0x009AFF,0x0000FF}},
	{22, {0x0000FF,0x00CEFF,0x00FFFF,0x00CCFF,0x0000FF}},
	{22, {0x0000FF,0x00FDFF,0x00FFFF,0x00FCFF,0x0000FF}},
	{22, {0x001CFF,0x00FFFF,0x00FFFF,0x00FFFF,0x001BFF}},
	{22, {0x0043FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0041FF}},
	{22, {0x0065FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0064FF}},
	{22, {0x0083FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0082FF}},
	{22, {0x009DFF,0x00FFFF,0x00FFFF,0x00FFFF,0x009CFF}},
	{22, {0x00B3FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00B2FF}},
	{22, {0x00C7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00C6FF}},
	{22, {0x00D7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D6FF}},
	{22, {0x00E5FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00E3FF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EEFF}},
	{22, {0x00F8FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00F6FF}},
	{22, {0x00FEFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FDFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F0FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00CCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0099FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x005BFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0013FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00EDFF,0x0000FF,0x00EFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00C3FF,0x0000FF,0x00C4FF,0x00FFFF}},
	{22, {0x00FFFF,0x0096FF,0x0000FF,0x0097FF,0x00FFFF}},
	{22, {0x00FFFF,0x0067FF,0x0000FF,0x0068FF,0x00FFFF}},
	{22, {0x00FFFF,0x0036FF,0x0000FF,0x0037FF,0x00FFFF}},
	{22, {0x00FFFF,0x0004FF,0x0000FF,0x0006FF,0x00FFFF}},
	{22, {0x00DEFF,0x0000FF,0x0000FF,0x0000FF,0x00E0FF}},
	{22, {0x00ACFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x007BFF,0x0000FF,0x0000FF,0x0000FF,0x007CFF}},
	{22, {0x004EFF,0x0000FF,0x0000FF,0x0000FF,0x0050FF}},
	{22, {0x0076FF,0x0000FF,0x0000FF,0x0000FF,0x0077FF}},
	{22, {0x00ABFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x00E6FF,0x0000FF,0x0000FF,0x0000FF,0x00E7FF}},
	{22, {0x00FFFF,0x0014FF,0x0000FF,0x0015FF,0x00FFFF}},
	{22, {0x00FFFF,0x004BFF,0x0000FF,0x004CFF,0x00FFFF}},
	{22, {0x00FFFF,0x007DFF,0x0000FF,0x007EFF,0x00FFFF}},
	{22, {0x00FFFF,0x00AAFF,0x0000FF,0x00ABFF,0x00FFFF}},
	{22, {0x00FFFF,0x00D1FF,0x0000FF,0x00D2FF,0x00FFFF}},
	{22, {0x00FFFF,0x00F4FF,0x0000FF,0x00F5FF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x000CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0040FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x006CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0091FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00B1FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00C9FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00DDFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00ECFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F7FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FEFF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EFFF}},
	{22, {0x00DAFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D9FF}},
	{22, {0x00BFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00BEFF}},
	{22, {0x00A0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x009FFF}},
	{22, {0x007EFF,0x00FFFF,0x00FFFF,0x00FFFF,0x007CFF}},
	{22, {0x0059FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0057FF}},
	{22, {0x0032FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0030FF}},
	{22, {0x0009FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0008FF}},
	{22, {0x0000FF,0x00EBFF,0x00FFFF,0x00EAFF,0x0000FF}},
	{22, {0x0000FF,0x00C0FF,0x00FFFF,0x00BFFF,0x0000FF}},
	{22, {0x0000FF,0x0094FF,0x00FFFF,0x0093FF,0x0000FF}},
	{22, {0x0000FF,0x0069FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x003EFF,0x00FFFF,0x003DFF,0x0000FF}},
	{22, {0x0000FF,0x0017FF,0x00FFFF,0x0016FF,0x0000FF}},
	{22, {0x0000FF,0x003AFF,0x00FFFF,0x0038FF,0x0000FF}},
	{22, {0x0000FF,0x0068FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x009BFF,0x00FFFF,0x009AFF,0x0000FF}},
	{22, {0x0000FF,0x00CEFF,0x00FFFF,0x00CCFF,0x0000FF}},
	{22, {0x0000FF,0x00FDFF,0x00FFFF,0x00FCFF,0x0000FF}},
	{22, {0x001CFF,0x00FFFF,0x00FFFF,0x00FFFF,0x001BFF}},
	{22, {0x0043FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0041FF}},
	{22, {0x0065FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0064FF}},
	{22, {0x0083FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0082FF}},
	{22, {0x009DFF,0x00FFFF,0x00FFFF,0x00FFFF,0x009CFF}},
	{22, {0x00B3FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00B2FF}},
	{22, {0x00C7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00C6FF}},
	{22, {0x00D7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D6FF}},
	{22, {0x00E5FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00E3FF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EEFF}},
	{22, {0x00F8FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00F6FF}},
	{22, {0x00FEFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FDFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{33, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_alrt[] = {
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F0FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00CCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0099FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x005BFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0013FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00EDFF,0x0000FF,0x00EFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00C3FF,0x0000FF,0x00C4FF,0x00FFFF}},
	{22, {0x00FFFF,0x0096FF,0x0000FF,0x0097FF,0x00FFFF}},
	{22, {0x00FFFF,0x0067FF,0x0000FF,0x0068FF,0x00FFFF}},
	{22, {0x00FFFF,0x0036FF,0x0000FF,0x0037FF,0x00FFFF}},
	{22, {0x00FFFF,0x0004FF,0x0000FF,0x0006FF,0x00FFFF}},
	{22, {0x00DEFF,0x0000FF,0x0000FF,0x0000FF,0x00E0FF}},
	{22, {0x00ACFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x007BFF,0x0000FF,0x0000FF,0x0000FF,0x007CFF}},
	{22, {0x004EFF,0x0000FF,0x0000FF,0x0000FF,0x0050FF}},
	{22, {0x0076FF,0x0000FF,0x0000FF,0x0000FF,0x0077FF}},
	{22, {0x00ABFF,0x0000FF,0x0000FF,0x0000FF,0x00ADFF}},
	{22, {0x00E6FF,0x0000FF,0x0000FF,0x0000FF,0x00E7FF}},
	{22, {0x00FFFF,0x0014FF,0x0000FF,0x0015FF,0x00FFFF}},
	{22, {0x00FFFF,0x004BFF,0x0000FF,0x004CFF,0x00FFFF}},
	{22, {0x00FFFF,0x007DFF,0x0000FF,0x007EFF,0x00FFFF}},
	{22, {0x00FFFF,0x00AAFF,0x0000FF,0x00ABFF,0x00FFFF}},
	{22, {0x00FFFF,0x00D1FF,0x0000FF,0x00D2FF,0x00FFFF}},
	{22, {0x00FFFF,0x00F4FF,0x0000FF,0x00F5FF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x000CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0040FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x006CFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x0091FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00B1FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00C9FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00DDFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00ECFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00F7FF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FCFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FEFF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EFFF}},
	{22, {0x00DAFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D9FF}},
	{22, {0x00BFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00BEFF}},
	{22, {0x00A0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x009FFF}},
	{22, {0x007EFF,0x00FFFF,0x00FFFF,0x00FFFF,0x007CFF}},
	{22, {0x0059FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0057FF}},
	{22, {0x0032FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0030FF}},
	{22, {0x0009FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0008FF}},
	{22, {0x0000FF,0x00EBFF,0x00FFFF,0x00EAFF,0x0000FF}},
	{22, {0x0000FF,0x00C0FF,0x00FFFF,0x00BFFF,0x0000FF}},
	{22, {0x0000FF,0x0094FF,0x00FFFF,0x0093FF,0x0000FF}},
	{22, {0x0000FF,0x0069FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x003EFF,0x00FFFF,0x003DFF,0x0000FF}},
	{22, {0x0000FF,0x0017FF,0x00FFFF,0x0016FF,0x0000FF}},
	{22, {0x0000FF,0x003AFF,0x00FFFF,0x0038FF,0x0000FF}},
	{22, {0x0000FF,0x0068FF,0x00FFFF,0x0067FF,0x0000FF}},
	{22, {0x0000FF,0x009BFF,0x00FFFF,0x009AFF,0x0000FF}},
	{22, {0x0000FF,0x00CEFF,0x00FFFF,0x00CCFF,0x0000FF}},
	{22, {0x0000FF,0x00FDFF,0x00FFFF,0x00FCFF,0x0000FF}},
	{22, {0x001CFF,0x00FFFF,0x00FFFF,0x00FFFF,0x001BFF}},
	{22, {0x0043FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0041FF}},
	{22, {0x0065FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0064FF}},
	{22, {0x0083FF,0x00FFFF,0x00FFFF,0x00FFFF,0x0082FF}},
	{22, {0x009DFF,0x00FFFF,0x00FFFF,0x00FFFF,0x009CFF}},
	{22, {0x00B3FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00B2FF}},
	{22, {0x00C7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00C6FF}},
	{22, {0x00D7FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00D6FF}},
	{22, {0x00E5FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00E3FF}},
	{22, {0x00F0FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00EEFF}},
	{22, {0x00F8FF,0x00FFFF,0x00FFFF,0x00FFFF,0x00F6FF}},
	{22, {0x00FEFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FDFF}},
	{22, {0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF,0x00FFFF}},

};

const led_pattern_state_t led_linear5_bootup_1[] = {
    {100, {0x000011,0x000011,0x000011,0x000011,0x000011}},
    {100, {0x000022,0x000022,0x000022,0x000022,0x000022}},
    {100, {0x000033,0x000033,0x000033,0x000033,0x000033}},
    {100, {0x000044,0x000044,0x000044,0x000044,0x000044}},
    {100, {0x000055,0x000055,0x000055,0x000055,0x000055}},
    {100, {0x000066,0x000066,0x000066,0x000066,0x000066}},
    {100, {0x000077,0x000077,0x000077,0x000077,0x000077}},
    {100, {0x000088,0x000088,0x000088,0x000088,0x000088}},
    {100, {0x000099,0x000099,0x000099,0x000099,0x000099}},
    {100, {0x0000AA,0x0000AA,0x0000AA,0x0000AA,0x0000AA}},
    {100, {0x0000BB,0x0000BB,0x0000BB,0x0000BB,0x0000BB}},
    {100, {0x0000CC,0x0000CC,0x0000CC,0x0000CC,0x0000CC}},
    {100, {0x0000DD,0x0000DD,0x0000DD,0x0000DD,0x0000DD}},
    {100, {0x0000EE,0x0000EE,0x0000EE,0x0000EE,0x0000EE}},
    {100, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
};

const led_pattern_state_t led_linear5_bootup_2[] = {
    {170, {0x00FFFF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
    {170, {0x0000FF,0x00FFFF,0x0000FF,0x0000FF,0x0000FF}},
    {170, {0x0000FF,0x0000FF,0x00FFFF,0x0000FF,0x0000FF}},
    {170, {0x0000FF,0x0000FF,0x0000FF,0x00FFFF,0x0000FF}},
    {170, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x00FFFF}},
    {170, {0x0000FF,0x0000FF,0x0000FF,0x0000FF,0x0000FF}},
};

const led_pattern_state_t led_linear5_speaker_mute[] = {
    {22, {0x000000,0x000000,0x000000,0x000000,0x000000}},
    {22, {0x111111,0x111111,0x000000,0x000000,0x000000}},
    {22, {0x333333,0x333333,0x000000,0x000000,0x000000}},
    {22, {0x555555,0x555555,0x000000,0x000000,0x000000}},
    {22, {0x777777,0x777777,0x000000,0x000000,0x000000}},
    {22, {0x999999,0x999999,0x000000,0x000000,0x000000}},
    {22, {0xBBBBBB,0xBBBBBB,0x000000,0x000000,0x000000}},
    {22, {0xDDDDDD,0xDDDDDD,0x000000,0x000000,0x000000}},
    {22, {0xEEEEEE,0xEEEEEE,0x000000,0x000000,0x000000}},
    {22, {0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000}},
    {22, {0xEEEEEE,0xEEEEEE,0x000000,0x000000,0x000000}},
    {22, {0xDDDDDD,0xDDDDDD,0x000000,0x000000,0x000000}},
    {22, {0xBBBBBB,0xBBBBBB,0x000000,0x000000,0x000000}},
    {22, {0x999999,0x999999,0x000000,0x000000,0x000000}},
    {22, {0x777777,0x777777,0x000000,0x000000,0x000000}},
    {22, {0x555555,0x555555,0x000000,0x000000,0x000000}},
    {22, {0x333333,0x333333,0x000000,0x000000,0x000000}},
    {22, {0x111111,0x111111,0x000000,0x000000,0x000000}},
    {22, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_speaker_vol[] = {
    {11, {0x333333,0x000000,0x000000,0x000000,0x000000}},
    {11, {0x666666,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xBBBBBB,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0x333333,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0x666666,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xBBBBBB,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0x333333,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0x666666,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xBBBBBB,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0x333333,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0x666666,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xBBBBBB,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x333333}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x666666}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xBBBBBB}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF}},
};

const led_pattern_state_t led_linear5_off[] = {
    {10, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_setup_mode[] = {
    {200, {0xFF1100,0x000000,0x000000,0x000000,0x000000}},
	{200, {0xFF1100,0xFF1100,0x000000,0x000000,0x000000}},
    {200, {0x000000,0xFF1100,0xFF1100,0x000000,0x000000}},
    {200, {0x000000,0x000000,0xFF1100,0xFF1100,0x000000}},
    {200, {0x000000,0x000000,0x000000,0xFF1100,0xFF1100}},
    {200, {0x000000,0x000000,0x000000,0x000000,0xFF1100}},
    {200, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_linear5_ota[] = {
    {75, {0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00}},
};

const led_pattern_state_t led_linear5_do_not_disturb[] = {
	{33, {0x0A0014,0x0A0014,0x0A0014,0x0A0014,0x0A0014}},
	{33, {0x020005,0x020005,0x020005,0x020005,0x020005}},
	{33, {0x05000A,0x05000A,0x05000A,0x05000A,0x05000A}},
	{33, {0x07000F,0x07000F,0x07000F,0x07000F,0x07000F}},
	{33, {0x0A0014,0x0A0014,0x0A0014,0x0A0014,0x0A0014}},
	{33, {0x0C0019,0x0C0019,0x0C0019,0x0C0019,0x0C0019}},
	{33, {0x0F001E,0x0F001E,0x0F001E,0x0F001E,0x0F001E}},
	{33, {0x110023,0x110023,0x110023,0x110023,0x110023}},
	{33, {0x140028,0x140028,0x140028,0x140028,0x140028}},
	{33, {0x16002D,0x16002D,0x16002D,0x16002D,0x16002D}},
	{33, {0x190034,0x190034,0x190034,0x190034,0x190034}},
	{33, {0x1D003A,0x1D003A,0x1D003A,0x1D003A,0x1D003A}},
	{40, {0x200041,0x200041,0x200041,0x200041,0x200041}},
	{40, {0x230048,0x230048,0x230048,0x230048,0x230048}},
	{40, {0x27004E,0x27004E,0x27004E,0x27004E,0x27004E}},
	{40, {0x2A0055,0x2A0055,0x2A0055,0x2A0055,0x2A0055}},
	{40, {0x2D005C,0x2D005C,0x2D005C,0x2D005C,0x2D005C}},
	{40, {0x310062,0x310062,0x310062,0x310062,0x310062}},
	{40, {0x340069,0x340069,0x340069,0x340069,0x340069}},
	{40, {0x370070,0x370070,0x370070,0x370070,0x370070}},
	{40, {0x3B0076,0x3B0076,0x3B0076,0x3B0076,0x3B0076}},
	{40, {0x3E007D,0x3E007D,0x3E007D,0x3E007D,0x3E007D}},
	{40, {0x410084,0x410084,0x410084,0x410084,0x410084}},
	{50, {0x45008A,0x45008A,0x45008A,0x45008A,0x45008A}},
	{50, {0x480091,0x480091,0x480091,0x480091,0x480091}},
	{50, {0x4B0098,0x4B0098,0x4B0098,0x4B0098,0x4B0098}},
	{50, {0x4F009E,0x4F009E,0x4F009E,0x4F009E,0x4F009E}},
	{60, {0x5200A5,0x5200A5,0x5200A5,0x5200A5,0x5200A5}},
	{50, {0x4F009E,0x4F009E,0x4F009E,0x4F009E,0x4F009E}},
	{50, {0x4B0098,0x4B0098,0x4B0098,0x4B0098,0x4B0098}},
	{50, {0x480091,0x480091,0x480091,0x480091,0x480091}},
	{50, {0x45008A,0x45008A,0x45008A,0x45008A,0x45008A}},
	{40, {0x410084,0x410084,0x410084,0x410084,0x410084}},
	{40, {0x3E007D,0x3E007D,0x3E007D,0x3E007D,0x3E007D}},
	{40, {0x3B0076,0x3B0076,0x3B0076,0x3B0076,0x3B0076}},
	{40, {0x370070,0x370070,0x370070,0x370070,0x370070}},
	{40, {0x340069,0x340069,0x340069,0x340069,0x340069}},
	{40, {0x310062,0x310062,0x310062,0x310062,0x310062}},
	{40, {0x2D005C,0x2D005C,0x2D005C,0x2D005C,0x2D005C}},
	{40, {0x2A0055,0x2A0055,0x2A0055,0x2A0055,0x2A0055}},
	{40, {0x27004E,0x27004E,0x27004E,0x27004E,0x27004E}},
	{40, {0x230048,0x230048,0x230048,0x230048,0x230048}},
	{40, {0x200041,0x200041,0x200041,0x200041,0x200041}},
	{40, {0x1D003A,0x1D003A,0x1D003A,0x1D003A,0x1D003A}},
	{40, {0x190034,0x190034,0x190034,0x190034,0x190034}},
	{40, {0x16002D,0x16002D,0x16002D,0x16002D,0x16002D}},
	{40, {0x140028,0x140028,0x140028,0x140028,0x140028}},
	{40, {0x110023,0x110023,0x110023,0x110023,0x110023}},
	{40, {0x0F001E,0x0F001E,0x0F001E,0x0F001E,0x0F001E}},
	{40, {0x0C0019,0x0C0019,0x0C0019,0x0C0019,0x0C0019}},
	{40, {0x0A0014,0x0A0014,0x0A0014,0x0A0014,0x0A0014}},
	{40, {0x07000F,0x07000F,0x07000F,0x07000F,0x07000F}},
	{40, {0x05000A,0x05000A,0x05000A,0x05000A,0x05000A}},
	{33, {0x020005,0x020005,0x020005,0x020005,0x020005}},
	{33, {0x000000,0x000000,0x000000,0x000000,0x000000}},
};

static const char *TAG = "led_pattern";

static bool is_init_done = false;
led_pattern_config_t led_linear5_conf[LED_PATTERN_MAX];

esp_err_t led_pattern_get_config(led_pattern_config_t **led_pattern_config)
{
	if (is_init_done == false) {
		ESP_LOGE(TAG, "LED pattern not initialized");
		return ESP_FAIL;
	}
	*led_pattern_config = led_linear5_conf;
	return ESP_OK;
}

bool led_pattern_is_init_done()
{
    return is_init_done;
}

void led_pattern_init()
{
    led_linear5_conf[LED_PATTERN_BOOTUP_1].led_states_count = sizeof(led_linear5_bootup_1) / sizeof(led_linear5_bootup_1[0]);
    led_linear5_conf[LED_PATTERN_BOOTUP_1].led_states = (led_pattern_state_t *)led_linear5_bootup_1;

    led_linear5_conf[LED_PATTERN_BOOTUP_2].led_states_count = sizeof(led_linear5_bootup_2) / sizeof(led_linear5_bootup_2[0]);
    led_linear5_conf[LED_PATTERN_BOOTUP_2].led_states = (led_pattern_state_t *)led_linear5_bootup_2;

    led_linear5_conf[LED_PATTERN_LISTENING_ENTER].led_states_count = sizeof(led_linear5_listening_enter) / sizeof(led_linear5_listening_enter[0]);
    led_linear5_conf[LED_PATTERN_LISTENING_ENTER].led_states = (led_pattern_state_t *)led_linear5_listening_enter;

    led_linear5_conf[LED_PATTERN_LISTENING_ONGOING].led_states_count = sizeof(led_linear5_listening_ongoing) / sizeof(led_linear5_listening_ongoing[0]);
    led_linear5_conf[LED_PATTERN_LISTENING_ONGOING].led_states = (led_pattern_state_t *)led_linear5_listening_ongoing;

    led_linear5_conf[LED_PATTERN_LISTENING_EXIT].led_states_count = sizeof(led_linear5_listening_exit) / sizeof(led_linear5_listening_exit[0]);
    led_linear5_conf[LED_PATTERN_LISTENING_EXIT].led_states = (led_pattern_state_t *)led_linear5_listening_exit;

    led_linear5_conf[LED_PATTERN_SPEAKER_VOL].led_states_count = sizeof(led_linear5_speaker_vol) / sizeof(led_linear5_speaker_vol[0]);
    led_linear5_conf[LED_PATTERN_SPEAKER_VOL].led_states = (led_pattern_state_t *)led_linear5_speaker_vol;

    led_linear5_conf[LED_PATTERN_SPEAKER_MUTE].led_states_count = sizeof(led_linear5_speaker_mute) / sizeof(led_linear5_speaker_mute[0]);
    led_linear5_conf[LED_PATTERN_SPEAKER_MUTE].led_states = (led_pattern_state_t *)led_linear5_speaker_mute;

    led_linear5_conf[LED_PATTERN_SPEAKING].led_states_count = sizeof(led_linear5_speaking) / sizeof(led_linear5_speaking[0]);
    led_linear5_conf[LED_PATTERN_SPEAKING].led_states = (led_pattern_state_t *)led_linear5_speaking;

    led_linear5_conf[LED_PATTERN_MIC_OFF_EXIT].led_states_count = sizeof(led_linear5_mic_off_exit) / sizeof(led_linear5_mic_off_exit[0]);
    led_linear5_conf[LED_PATTERN_MIC_OFF_EXIT].led_states = (led_pattern_state_t *)led_linear5_mic_off_exit;

    led_linear5_conf[LED_PATTERN_MIC_OFF_ONGOING].led_states_count = sizeof(led_linear5_mic_off_ongoing) / sizeof(led_linear5_mic_off_ongoing[0]);
    led_linear5_conf[LED_PATTERN_MIC_OFF_ONGOING].led_states = (led_pattern_state_t *)led_linear5_mic_off_ongoing;

    led_linear5_conf[LED_PATTERN_MIC_OFF_ENTER].led_states_count = sizeof(led_linear5_mic_off_enter) / sizeof(led_linear5_mic_off_enter[0]);
    led_linear5_conf[LED_PATTERN_MIC_OFF_ENTER].led_states = (led_pattern_state_t *)led_linear5_mic_off_enter;

    led_linear5_conf[LED_PATTERN_ERROR].led_states_count = sizeof(led_linear5_error) / sizeof(led_linear5_error[0]);
    led_linear5_conf[LED_PATTERN_ERROR].led_states = (led_pattern_state_t *)led_linear5_error;

    led_linear5_conf[LED_PATTERN_BT_CONNECT].led_states_count = sizeof(led_linear5_bt_connect) / sizeof(led_linear5_bt_connect[0]);
    led_linear5_conf[LED_PATTERN_BT_CONNECT].led_states = (led_pattern_state_t *)led_linear5_bt_connect;

    led_linear5_conf[LED_PATTERN_BT_DISCONNECT].led_states_count = sizeof(led_linear5_bt_disconnect) / sizeof(led_linear5_bt_disconnect[0]);
    led_linear5_conf[LED_PATTERN_BT_DISCONNECT].led_states = (led_pattern_state_t *)led_linear5_bt_disconnect;

    led_linear5_conf[LED_PATTERN_NOTIFICATION_ONGOING].led_states_count = sizeof(led_linear5_notification_ongoing) / sizeof(led_linear5_notification_ongoing[0]);
    led_linear5_conf[LED_PATTERN_NOTIFICATION_ONGOING].led_states = (led_pattern_state_t *)led_linear5_notification_ongoing;

    led_linear5_conf[LED_PATTERN_NOTIFICATION_NEW].led_states_count = sizeof(led_linear5_notification_new) / sizeof(led_linear5_notification_new[0]);
    led_linear5_conf[LED_PATTERN_NOTIFICATION_NEW].led_states = (led_pattern_state_t *)led_linear5_notification_new;

    led_linear5_conf[LED_PATTERN_THINKING].led_states_count = sizeof(led_linear5_thinking) / sizeof(led_linear5_thinking[0]);
    led_linear5_conf[LED_PATTERN_THINKING].led_states = (led_pattern_state_t *)led_linear5_thinking;

    led_linear5_conf[LED_PATTERN_ALERT_SHORT].led_states_count = sizeof(led_linear5_alrt_short) / sizeof(led_linear5_alrt_short[0]);
    led_linear5_conf[LED_PATTERN_ALERT_SHORT].led_states = (led_pattern_state_t *)led_linear5_alrt_short;

    led_linear5_conf[LED_PATTERN_ALERT].led_states_count = sizeof(led_linear5_alrt) / sizeof(led_linear5_alrt[0]);
    led_linear5_conf[LED_PATTERN_ALERT].led_states = (led_pattern_state_t *)led_linear5_alrt;

    led_linear5_conf[LED_PATTERN_SETUP].led_states_count = sizeof(led_linear5_setup_mode) / sizeof(led_linear5_setup_mode[0]);
    led_linear5_conf[LED_PATTERN_SETUP].led_states = (led_pattern_state_t *)led_linear5_setup_mode;

    led_linear5_conf[LED_PATTERN_OFF].led_states_count = sizeof(led_linear5_off) / sizeof(led_linear5_off[0]);
    led_linear5_conf[LED_PATTERN_OFF].led_states = (led_pattern_state_t *)led_linear5_off;

    led_linear5_conf[LED_PATTERN_DO_NOT_DISTURB].led_states_count = sizeof(led_linear5_do_not_disturb) / sizeof(led_linear5_do_not_disturb[0]);
    led_linear5_conf[LED_PATTERN_DO_NOT_DISTURB].led_states = (led_pattern_state_t *)led_linear5_do_not_disturb;

    led_linear5_conf[LED_PATTERN_OTA].led_states_count = sizeof(led_linear5_ota) / sizeof(led_linear5_ota[0]);
    led_linear5_conf[LED_PATTERN_OTA].led_states = (led_pattern_state_t *)led_linear5_ota;

    is_init_done = true;
}
